1. Field of the Invention
The present invention relates generally to software processing, and more particularly, to methods and systems for remotely managing the distribution and scheduling of computing operations.
2. Description of the Related Art
As the use of software in performing daily tasks is increasing rapidly, assessing software reliability through software testing has become an imperative stage in the software development cycle. As is well known, software testing is used to find and eliminate defects (i.e., bugs) in software, which if undetected, can cause the software to operate improperly. In general, software testing may be performed by implementing a stand-alone computer or a network of computer resources. The drawback of using a stand-alone computer system to perform software testing is that the stand-alone computer system must be specifically programmed to run the test selected by the software user. To submit a new test, modify or terminate an existing test, or obtain the status of the tests currently running, the user must physically access the computer lab and the stand-alone computer system. This is extremely inconvenient when the computer lab or the stand-alone computer system is remote or such access is impossible.
Comparatively, when a network of computer resources is used, the users are responsible for manually adding and deleting the computer resources to the network, programming the master computer system and the server, initiating the running of a user-selected test, and running the test on the group of dedicated computer systems coupled to the server. The shortcoming of this scenario is that to accomplish any of these tasks, the user must have physical access to the computer lab housing the master computer system running the network controller. Thus, unless the users can access the computer lab, the users are incapable of performing any of such tasks. Furthermore, at any given time, only a single user can access the controller. This is specifically inconvenient when multiple users, each located are in different remote buildings, attempt to access the controller.
Additionally, in either scenario, a heavy user interface is required for initiating the software testing on the master computer, scheduling the running of the specific test on the system resources, adding and deleting of the system resources, keeping track of the system resources and their respective hardware and software configuration, and maintaining the system resources. Moreover, in either case, the software testing is performed by dedicated system resources. That is, the system resources are designed to solely be used for software testing.
In view of the foregoing, there is a need for a flexible methodology and system to accommodate the remote distribution and scheduling of the processing of a computer software.